Makros

Die im folgenden beschriebenen Makros können nur innerhalb der timing Umgebung eingesetzt werden. Diese Umgebung ist eine Erweiterung der picture Umgebung, es können also auch alle picture Befehle verwendet werden (\unitlength=1sp).

Die Umgebung wird durch den Befehl

\begin{timing}[Zeichensatz]{Labelbreite}

eingeleitet. Der Parameter Labelbreite gibt den zu reservierenden Platz für die Signalbezeichnung an. Der Parameter Zeichensatz wählt den Zeichensatz aus. 1 ist ein schmaler Zeichensatz, der ca. 1mm breite Elemente enthält, 2 ist ein breiterer Zeichensatz mit ca. 2mm breiten Elementen. Die Version mit s dahinter (1s und 2s) verwendet schräge Flanken im Gegensatz zu den „normalen`` Zeichensätzen. (Man glaubt nicht, wieviele Schwierigkeiten die Schüler mit schrägen Flanken haben. Man sagt ihnen: „Nehmt die Mitte``, aber sie raffen's nicht.) Normalerweise wird der Zeichensatz 2 verwendet.

Die Umgebung muß durch

\end{timing}

abgeschlossen werden. (Müssen wir das erwähnen ??)

Eine Diagrammzeile wird durch das Makro

\til{Zeile}{Zeichenkette mit Symbolbuchstaben}

erzeugt. Die Symbolbuchstaben repräsentieren den jeweiligen Signalzustand gemäß Tabelle [*]. Alternativ können die Makros \timingcounter bzw. \conttimingcounter als Argument übergeben werden. Bei Verwendung von Symbolbuchstaben sollte darauf geachtet werden, daß nach einem Symbolwechsel mindestens zwei aufeinanderfolgende Buchstaben gleich sind, um ein ordnungsgemäßes Arbeiten des Ligaturmechanismus zu gewährleisten. Die Makros

\timingcounter{Zeitmarkenabstand}{Startwert}{Endwert}{Zeitintervall} und

\conttimingcounter{Zeitmarkenabstand}{Startwert}{Endwert}{Zeitintervall}

erzeugen eine Ziffernskala. \conttimingcounter wird nach einer Unterbrechung benutzt und erzeugt zusätzlich den nötigen Zwischenraum.


Tabelle: Mögliche Symbolbuchstaben in 3 Zeichensätzen 1/1s/2/2s
L 0 - Pegel HLLLLH     →     HLLLLH - HLLLLH - HLLLLH - HLLLLH
H 1 - Pegel LHHHHL     →     LHHHHL - LHHHHL - LHHHHL - LHHHHL
F unbekannter Pegel LFFFFH     →     LFFFFH - LFFFFH - LFFFFH - LFFFFH
L 0 - Pegel zum Zeichnen hllllh     →     hllllh - hllllh - hllllh - hllllh
H 1 - Pegel zum Zeichnen lhhhhl     →     lhhhhl - lhhhhl - lhhhhl - lhhhhl
H Leere Zeile zum Zeichnen ......     →     ...... - ...... - ...... - ......
V Bus-Leitungen mit gültigen Daten ZVVVVU     →     ZVVVVU - ZVVVVU - ZVVVVU - ZVVVVU
X Bus-Leitungen mit Zustandswechsel VVVXVV     →     VVVXVV - VVVXVV - VVVXVV - VVVXVV
U Bus-Leitungen mit ungültigen Daten ZUUUUV     →     ZUUUUV - ZUUUUV - ZUUUUV - ZUUUUV
Z Bus-Leitungen auf Tristate VZZZZU     →     VZZZZU - VZZZZU - VZZZZU - VZZZZU
T Kopfzeile mit Zeitmarke TtttTt     →     TtttTt - TtttTt - TtttTt - TtttTt
t Kopfzeile ohne Zeitmarke TtTtTt     →     TtTtTt - TtTtTt - TtTtTt - TtTtTt
B Fußzeile mit Zeitmarke BbbbBb     →     BbbbBb - BbbbBb - BbbbBb - BbbbBb
b Fußzeile ohne Zeitmarke BbBbBb     →     BbBbBb - BbBbBb - BbBbBb - BbBbBb
- Unterbrechungszeichen UUU-UU     →     UUU-UU - UUU-UU - UUU-UU - UUU-UU


Die Signalbezeichnung für eine Diagrammzeile wird mit dem Makro

\tin{Zeile}{Name}

zugeordnet.

Für Bemerkungen innerhalb des Signalverlaufs dient

\tnote{Zeile}{X-Position}{Bemerkung}

Die Darstellung der Zeitbeziehungen zwischen einzelnen Signalverläufen erfolgt durch die folgenden Makros:

Pfeil nach rechts \rarw{Zeile}{X-Position}{Länge}{Text}
Pfeil nach links \larw{Zeile}{X-Position}{Länge}{Text}
senkrechte Linie \sline{Anfangszeile}{X-Position}{Endezeile}

Bei Zeile (bei den Pfeilen) verwenden Sie üblicherweise einen um 0.6 verminderten Wert. Bei der Linie meint X-Position die Position, hinter der die Linie sein soll; das erste Zeichen hat die Nummer 1.

Die Linienbreite der senkrechten Linien kann dabei wie in der picture Umgebung durch \linethickness festgelegt werden.

Weiterhin existiert ein Faktor, der den Abstand zwischen zwei Signalverläufen bestimmt. \timescalefactor kann durch \newcommand auf einen beliebigen Wert gesetzt werden. Defaultwert ist 2.